/*
  Copyright (c) 2011, Mikheev Rostislav
  Copyright (c) 2011, FreshFarsh team

  Steel Engine source code is free software; you can redistribute it and/or
  modify it under the terms of the GNU General Public License
  as published by the Free Software Foundation; either version 2
  of the License, or (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/
/**
  @author Mikheev Rostislav <hacenator@gmail.com>
  @date 23.07.2011
  @brief Useful OpenGL shorthands header file
*/

#ifndef _H_STEEL_OPENGL_SHORTHANDS
#define _H_STEEL_OPENGL_SHORTHANDS

#include "GL/glew.h"
#include "common.h"

namespace _STEEL_NAMESPACE {
  /**
   *  Create OpenGL buffer and bind data
   *  @param target
   *    Target buffer object. The symbolic constant must be GL_ARRAY_BUFFER,
   *    GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER or GL_PIXEL_UNPACK_BUFFER.
   *  @param size
   *    Buffer size in bytes
   *  @param data
   *    Pointer to the data what will be copied into the data store, or NULL
   *    if no data to be copied
   *  @param data
   *    Usage pattern of the data
   *  @return
   *    Buffer index
   */
GLuint sgBindBufferData(GLenum target, GLsizeiptr size, const GLvoid * data,
    GLenum usage);
}

#endif
